import '../order_item.dart';


/// `OrderRepository` 是一个订单存储库的抽象接口。
///
/// 这个类定义了获取订单数据的契约（contract）。通过依赖这个抽象，
/// 领域层（Domain Layer）与具体的数据层实现（Data Layer）解耦，
/// 这遵循了依赖倒置原则（Dependency Inversion Principle）。
///
/// 这个接口的实现可以从各种数据源获取数据，例如：
/// - 远程 API
/// - 本地数据库
/// - 用于测试的模拟数据
abstract class OrderRepository {
  /// 获取历史订单列表。
  ///
  /// 返回一个 `Future`，该 `Future` 完成后会得到一个 `OrderItem` 列表。
  /// 如果无法获取数据，`Future` 将会以错误（error）结束。
  Future<List<OrderItem>> getOrderHistory();
}